# 分层确定性密钥

了解分层确定性密钥的作用，以及如何使用Php代码管理分层确定性密钥。

## 预置代码说明

- new-mnemonic.php: 生成助记词
- restore-masterkey.php: 复原主密钥
- derive-childkey.php: 派生子密钥
- derive-childkey-path.php: 使用路径表示派生后代密钥
- pubkey-only.php: 从公钥派生后代密钥
- export-extendedkey.php: 导出扩展密钥
- hardenedkey.php: 派生强化子密钥 

按一下顺序执行预置代码：

###  1、生成助记词

首先使用生成助记词存入wallet目录：

```
~/repo/c5$ php new-mnemonic.php
```

### 2、获取主密钥

然后利用助记词恢复主密钥：

```
~/repo/c5$ php restore-masterkey.php
```

### 3、派生子密钥

在恢复主密钥后，可以派生子密钥：

```
~/repo/c5$ php derive-childkey.php
```

### 4、导出扩展密钥

层级密钥可以导出为扩展密钥存入wallet目录：

```
~/repo/c5$ php export-extendedkey.php
```

### 5、仅从公钥派生后代密钥

层级密钥支持单纯公钥派生：

```
~/repo/c5$ php pubkey-only.php
```

### 6、派生强化密钥

为了更好的安全性，可以使用强化派生：

```
~/repo/c5$ php hardenedkey.php
```

### 7、使用路径表示

层级可以使用路径更好的表示，支持普通派生和强化派生：

```
~/repo/c5$ php derive-childkey-path.php
```
